package com.skins
{
	import com.monkey.ui.core.MkSprite;
	import com.monkey.ui.skin.Skin;
	
	import flash.display.DisplayObject;
	import flash.text.TextFormat;

	/**
	 * 样式包封装，针对单条自定义样式，用于CSS样式需求
	 * 如：
	 * <MkNormal id="tipGroud" bg="pop2.png" btn="btnCenter"/>
	 * setSkinID("tipGroud")
	 * getSprite("bg")
	 * 
	 * 2012/11/21 15:18
	 * @author WZH(shch8.com)
	 */
	public class StyleBag extends MkSprite
	{
		protected var cssName:String
		public function StyleBag() 
		{
			
		}
		/**
		 * 设置皮肤ID
		 * @param	value
		 */
		public function setSkinID(value:String):void
		{
			cssName = value;
			if (cssName != "") drawSkin();
		}
		
		/**
		 * 皮肤获取相关代码执行
		 */
		protected function drawSkin():void
		{
			
		}
		/**
		 * 获取字符样式，使用setSkin设置映射样式后可用
		 * @param	id
		 * @return
		 */
		public function getTxtFormatM(id:String):TextFormat
		{
			return Skin.librarys.sheet.transform(Skin.librarys.sheet.getStyle(getStrM(id)));
		}
		
		/**
		 * 获取字符样式，使用setSkin设置映射样式后可用
		 * @param	id
		 * @return
		 */
		public function getStrM(id:String):String
		{
			return Skin.librarys.sheet.getStyleValue(cssName, id);
		}
		
		/**
		 * 获取数字样式，使用setSkin设置映射样式后可用
		 * @param	id
		 * @return
		 */
		public function getNumberM(id:String):Number
		{
			return Number(Skin.librarys.sheet.getStyleValue(cssName, id));
		}
		
		/**
		 * 获取Sprite显示对象，使用setSkin设置映射样式后可用
		 * @param	id
		 * @return
		 */
		public function getDisplayM(id:String):DisplayObject
		{
			return Skin.librarys.getSkin(cssName, id) as DisplayObject;
		}
		
	}

}